1. Field of the Invention
The present invention relates to an average calculation device for calculating an average of nonlinear data, the device comprising: an input module for receiving a nonlinear function and nonlinear data; a comparison module for deriving nonlinear data sorted in a descending order by comparing the nonlinear data; an index module for deriving an index value from the sorted nonlinear data according to a preset computation; a lookup table memory for storing a lookup table (LUT) of the index value and a variable in advance using a preset computation formula, and deriving a variable corresponding to an index value if the index value is received; and a computation module for receiving the largest value among the sorted nonlinear data and the variable and deriving a final nonlinear output value through a preset computation.
2. Description of Related Art
Since a relation between input and output of a system, in which an output of an input x is y, is expressed in the form of a function y=ax+b and its graph is configured in the form of a straight line in the case of a linear system, an output value according to an input value can be easily predicted. However, unlike the linear system, since a nonlinear system is expressed in the form of an exponential function y=ax^b or a logarithmic function y=log X and its graph is configured in the form of a curve, an output value according to an input value is not easy to predict through a simple calculation. Particularly, although a small cause may output a small effect and a big cause may output a big effect in the linear system, a small cause may output a large effect and a large cause may output a small effect in the nonlinear system, and thus interest in the method of effectively processing input and output data of a nonlinear system is increasing.
However, when a nonlinear system is processed using a hardware device, a nonlinear data is calculated after being converted into a linear data and the calculated value is converted again into a nonlinear data to be outputted as shown in FIG. 1, and thus there is a problem that the capacity of memory needed for nonlinear-to-linear conversion and linear-to-nonlinear conversion unnecessarily increases. For example, as shown in FIGS. 2 and 3, an average calculation device of a conventional nonlinear system includes three lookup table memories and requires an overall memory size of about 40,000 bits.
Accordingly, chip prices increase as the memory size grows to a large scale, and since the memory size is large, the memory size of a system also increases use several lookup table values, and thus flexibility is lowered, and an error cannot be completely removed although a large number of gradations (e.g., 12 bits), larger than the number of input gradations (e.g., 8 bits), are used to reduce the calculation error.